import { test } from "node:test"; import assert from "node:assert/strict"; import { median } from "../src/median.js"; test("median with odd number of elements", () => { assert.strictEqual(median([3, 1, 2]), 2); assert.strictEqual(median([10, -5, 7, 3, 2]), 3); }); test("median with even number of elements", () => { assert.strictEqual(median([1, 2, 3, 4]), 2.5); assert.strictEqual(median([7, 3, 5, 1]), 4); }); test("median works on unsorted arrays", () => { assert.strictEqual(median([9, 2, 7, 4, 5]), 5); assert.strictEqual(median([8, 1, 6, 3]), 4.5); }); test("median returns undefined for empty array or invalid inputs", () => { assert.strictEqual(median([]), undefined); assert.strictEqual(median(null), undefined); assert.strictEqual(median("not an array"), undefined); assert.strictEqual(median([1, 2, "three"]), undefined); assert.strictEqual(median([1, NaN, 3]), undefined); assert.strictEqual(median([Infinity, 1, 2]), undefined); });